--- a/driver/wl_linux.c
+++ b/driver/wl_linux.c
@@ -463,6 +463,16 @@ wl_schedule_fn(wl_info_t *wl, void (*fn)
 }
 #endif /* DSLCPE_DELAY */
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0)
+#define WL_DEFAULT_OPS \
+	.ndo_open = wl_open, \
+	.ndo_stop = wl_close, \
+	.ndo_start_xmit = wl_start, \
+	.ndo_get_stats = wl_get_stats, \
+	.ndo_set_mac_address = wl_set_mac_address, \
+	.ndo_set_rx_mode = wl_set_multicast_list, \
+	.ndo_do_ioctl = wl_ioctl
+#else
 #define WL_DEFAULT_OPS \
 	.ndo_open = wl_open, \
 	.ndo_stop = wl_close, \
@@ -471,6 +481,7 @@ wl_schedule_fn(wl_info_t *wl, void (*fn)
 	.ndo_set_mac_address = wl_set_mac_address, \
 	.ndo_set_multicast_list = wl_set_multicast_list, \
 	.ndo_do_ioctl = wl_ioctl
+#endif
 
 static const struct net_device_ops wl_ops = {
 	WL_DEFAULT_OPS,
